草庐IT

Swift 继承

全部标签

javascript - 具有 (ES6) 类和继承的 Angular.js DI

背景,我们应用程序中类/模块的当前实现是common.js和CoffeeScript类。我正在拼命寻找可以使用ES6或TypeScript的解决方案,但问题仍然存在。如何使用Angular-1.x通过类继承进行DI?给定代码://SuperService.jsclassSuperService{constructor($http,$q,$etc){//Implementationisnotimportant...}}export{SubService}//SubService.jsimport{SuperService}from'./SuperService';classSubServ

javascript - JavaScript构造函数可以返回函数并保持继承吗?

functionF(){returnfunction(){return{};}}varf=newF();finstanceofF;//returnsfalse据我所知,如果我想让instanceof工作,我需要从构造函数返回this。但是我想要构造函数返回一个函数,我不能分配给this。那么,对于f=newF()返回一个函数并且仍然finstanceofF返回true,这真的是不可能的还是可以以某种方式完成? 最佳答案 functionF(){varr=function(){return{};};r.__proto__=this._

使用 _.extend() 的 JavaScript 继承

有什么区别Employee.prototype=Object.create(Person.prototype);和_.extend(Employee.prototype,Person.prototype);两者都给出了相似的结果(输出),但是下划线方法似乎将Person.prototype添加到Employee.constructor.prototype中,并且到处都有很多额外的东西,为什么?纯JS下划线_.extend的一个很好的副作用是我可以轻松地进行多重继承:似乎它不会让原型(prototype)链变得更长......_.extend(Employee.prototype,Per

Javascript 继承 - instanceof 不工作?

我正在使用javascript和html5编写一个简单的平台游戏。我以面向对象的方式使用javascript。为了让继承工作,我使用了以下内容;//http://www.sitepoint.com/blogs/2006/01/17/javascript-inheritance/functioncopyPrototype(descendant,parent){varsConstructor=parent.toString();varaMatch=sConstructor.match(/\s*function(.*)\(/);if(aMatch!=null){descendant.prot

javascript - 如果 Crockford 建议我们将它用于原型(prototype)继承,为什么他说不要使用 new 关键字?

我看过一段视频,其中Crockford告诉我们不要使用new关键字。如果我没记错的话,他说要改用Object.create。为什么他告诉我们不要使用new,如果他在他写的这篇文章中使用它来实现原型(prototype)继承:http://javascript.crockford.com/prototypal.html我希望他使用Object.create而不是new,如下所示:functionobject(o){returnObject.create((function(){}).prototype=o);}那为什么他还在用new呢? 最佳答案

javascript - 在 Angular Directive(指令)中从父级继承的新范围

假设我这样做:sAngular.app.directive('dostuff',['$compile',function($compile){return{restrict:'C',scope:{someVar:'='},link:function(scope,element,attrs){element.click(function(){//dostuffscope.someVar='somethingelse';vardropdownOutput=template();varcompiledOutput=$compile(dropdownOutput)(scope);scope.$

javascript - 从非类继承 ES6/TS 类

鉴于类是从非类扩展而来的(包括但不限于函数),functionFn(){}classClassextendsFn{constructor(){super();}}后果是什么?规范对此有何规定?看起来Babel、GoogleV8和MozillaSpidermonkey的当前实现都可以,而TypeScript会抛出Type'()=>void'isnotaconstructorfunctiontype如果这是一个有效的ES2015代码,在TypeScript中处理它的正确方法是什么? 最佳答案 TypeScript部分到目前为止,spec

javascript - Vue.js继承调用父方法

是否可以在Vue.js中使用方法覆盖?varSomeClassA=Vue.extend({methods:{someFunction:function(){//ClassAsomestuff}}});varSomeClassB=SomeClassA.extend({methods:{someFunction:function(){//CALLSomeClassA.someFunction}}});我想从ClassBsomeFunction调用ClassAsomeFunction。有可能吗? 最佳答案 不,vue不适用于直接继承模型。

JavaScript 继承 Object.create()?

如何使用Object.create()进行继承?我尝试了这些,但都没有用:varB=function(){};varA=function(){};A=Object.create(B);A.prototype.C=function(){};和varB=function(){};varA=function(){};A.prototype.C=function(){};A=Object.create(B);和varB=function(){};A=Object.create(B);varA=function(){};A.prototype.C=function(){};没有任何效果。我应该如

javascript - 流行的 JavaScript 继承模式

我正在研究ebookonGitHub在TDDJavaScript上,我想知道我是否遗漏了任何流行的继承模式。如果您知道任何其他模式,我很乐意看到它们。他们应该具有以下内容:耗时考验-在真实应用中使用应提供源代码。应尽可能直截了当和迂腐。当然要正确且有效。我这样做的原因是,JavaScript中的对象继承似乎对我们许多人来说都很难理解。我的JavaScript继承章节基本上是一个学习辅助工具:Crockford的GoodParts和Zakas的WebDevelopersProfessionalJavaScript。这是我到目前为止的模式://PseudoclassicalInherita